import axios from "@/utils/axios";
import {onMounted, ref, watch} from "vue";
import {message} from "ant-design-vue";
import {useStore} from "vuex";
import moment, { Moment } from 'moment';
import grader from "@/assets/image/grader.png";

class SectionInfo{
    sectionId: number | undefined = undefined
    kind: Array<number> = new Array<number>()
}
class AnalyseQueryForm {
    startTime:  string | undefined
    endTime:  string | undefined
    sections: Array<SectionInfo> = [new SectionInfo()]
}
const AnalyseQueryFormState = ref(new AnalyseQueryForm())

export default ()=> {
    const store = useStore()
    const sections = ref(JSON.parse(JSON.stringify(store.getters["userinfo/getUserSection"])))
    const allDateOption: any = ref(null);
    const allMonthOption: any = ref(null);
    const ratioOption:any = ref(null);
    const cellOption:any =  ref(null);
    const cellAnalOption:any =  ref(null);
    const cellMonthOption:any =  ref(null);
    const tampOption: any = ref(null);
    const tampSceneOption: any = ref(null);
    const tampSceneMonthOption: any = ref(null);
    const tampBuildOption: any = ref(null);
    const tampBuildMonthOption: any = ref(null);
    const compOption: any = ref(null);
    const compSceneOption:any = ref(null);
    const compSceneMonthOption:any = ref(null);
    const compDistanceOption:any = ref(null);
    const compDistanceMonthOption:any = ref(null);
    const resultList:any = ref({});
    const infoList:any = ref({})
    // 当日在线
    const tampnum:any=ref(0)
    const compnum:any=ref(0)
    const pavenum:any=ref(0)
    const cfgnum:any=ref(0)
    const rotarynum:any=ref(0)
    const cementnum:any=ref(0)
    //以下按顺序分别是：1洒水车  2挖掘机  3推土机   4运输车   5汽车吊   6破碎锤   7装载机   8汽车钻   9平地机   10普通车辆
    const sprinklenum:any=ref(0);const diggernum:any=ref(0);const bulldozernum:any=ref(0);const tracknum:any=ref(0);const cranenum:any=ref(0);
    const asiewnum:any=ref(0);const loadernum:any=ref(0);const drillnum:any=ref(0);const gradernum:any=ref(0);const carnum:any=ref(0)
    // 当日在场
    const tampPresent:any = ref(0)
    const compPresent:any = ref(0)
    const pavePresent:any = ref(0)
    const cfgPresent:any = ref(0)
    const rotaryPresent:any = ref(0)
    const cementPresent:any = ref(0)
    const sprinklePresent:any = ref(0); const diggerPresent:any = ref(0); const bulldozerPresent:any = ref(0); const trackPresent:any = ref(0);
    const cranePresent:any = ref(0); const asiewPresent:any = ref(0); const loaderPresent:any = ref(0); const drillPresent:any = ref(0);
    const graderPresent:any = ref(0); const carPresent:any = ref(0)

    const refreshTime: any = ref()
    const weatherList: any = ref({})
    const testList: any = []
    const attrs = ref<any>([]);
    const dustDays: any =ref();
    const calendar = ref();
    const calendarMonth = ref<any>('');
    const paveOption: any = ref(null);
    const paveAreaOption: any = ref(null);
    const paveAreaMonthOption: any = ref(null);
    const cfgDepthOption: any = ref(null);
    const cfgDepthMonthOption: any = ref(null);
    const cfgCountOption: any = ref(null);
    const cfgCountMonthOption: any = ref(null);
    const RotaryDepthOption: any = ref(null);
    const RotaryDepthMonthOption: any = ref(null);
    const RotaryCountOption: any = ref(null);
    const RotaryCountMonthOption: any = ref(null);
    const TrackDistanceOption: any = ref(null);
    const VehicleDistanceOption: any = ref(null);
    const VehicleDistanceMonthOption: any = ref(null);
    const dailytime = ref<Moment[]>([moment().startOf("day").subtract(1, "weeks"), moment()])
    const monthtime = ref<Moment[]>([moment() ,moment()])
    const mode2 = ref<string[]>(['month', 'month']);

    let tempDate = new Date() // 获取今天的日期
    AnalyseQueryFormState.value.endTime=tempDate.getFullYear() + '-' + (tempDate.getMonth() + 1) + '-' + tempDate.getDate()
    tempDate.setDate(tempDate.getDate() - 7) // 今天的前N天的日期，N自定义
    AnalyseQueryFormState.value.startTime = tempDate.getFullYear() + '-' + (tempDate.getMonth() + 1) + '-' + tempDate.getDate()


    const handleChange = (val: Moment[]) => {
        monthtime.value = val;
    };
    const handlePanelChange = (val: Moment[], mode: string[]) => {
        monthtime.value = val;
        mode2.value = [
            mode[0] === 'date' ? 'month' : mode[0],
            mode[1] === 'date' ? 'month' : mode[1],
        ];
    }

    //查询机械的按钮
    const getDevice = ()=>{
        // 按日查询机械情况
        axios.post("/analyze/common/findStatisticsOfDevice",
            {"startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                    }
                ]
            }).then((res:any)=>{
            if(res.success){
                resultList.value = res.data;
                let dateArr: any = [], numArr1: any = [], numArr2: any = [],numArr3:any=[];
                res.data[0].info.forEach((item:any)=>{
                    dateArr.push(item.dateTime)
                    numArr1.push(0);
                    numArr2.push(0);})

                for (let k = 0; k < dateArr.length; k++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp = resultList.value[i].info;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[k]
                        });
                        let num = temp[index].onlineNums;
                        numArr1[k] += parseInt(num);
                        let val = temp[index].presenceNums;
                        numArr2[k] += parseInt(val);
                        let leaveNums=temp[index].leaveNums;
                        numArr3[k] +=parseInt(leaveNums);
                        allDateOption.value=  {
                            grid:{
                                bottom:'10%',
                            },
                            legend: {
                                left: 'right'
                            },
                            tooltip: {},
                            xAxis: {
                                data: dateArr
                            },
                            yAxis: {},
                            series: [
                                {name: '在线数量',
                                    type: 'bar',
                                    color:'#0455A4',
                                    data: numArr1
                                },
                                {name: '在场数量',
                                    type: 'bar',
                                    color:'#2D99FF',
                                    data: numArr2
                                },
                                {name: '退场数量',
                                    type: 'bar',
                                    color:'#BDDEFF',
                                    data: numArr3
                                }
                            ]
                        }
                    }
                }
            }else{
                message.info("查询数据失败,请确认参数是否填写正确")
            }
        })
        //按月查询查询机械情况
        axios.post("/analyze/common/findStatisticsOfDeviceMonthly",
            {"startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                    }
                ]
            } ).then((res:any)=>{
            if(res.success){
                resultList.value = res.data;
                let dateArr: any = [], numArr1: any = [], numArr2: any = [],numArr3:any=[];
                res.data[0].info.forEach((item:any)=>{
                    dateArr.push(item.dateTime)
                    numArr1.push(0);
                    numArr2.push(0);})

                for (let k = 0; k < dateArr.length; k++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp = resultList.value[i].info;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[k]
                        });
                        let num = temp[index].onlineNums;
                        numArr1[k] += parseInt(num);
                        let val = temp[index].presenceNums;
                        numArr2[k] += parseInt(val);
                        let leaveNums=temp[index].leaveNums;
                        numArr3[k] +=parseInt(leaveNums);
                        allMonthOption.value=  {

                            grid:{
                                bottom:'10%',
                            },
                            legend: {
                                left: 'right'
                            },
                            tooltip: {},
                            xAxis: {
                                data: dateArr
                            },
                            yAxis: {},
                            series: [
                                {name: '在线数量',
                                    type: 'bar',
                                    color:'#0455A4',
                                    data: numArr1
                                },
                                {name: '在场数量',
                                    type: 'bar',
                                    color:'#2D99FF',
                                    data: numArr2
                                },
                                {name: '退场数量',
                                    type: 'bar',
                                    color:'#BDDEFF',
                                    data: numArr3
                                }
                            ]
                        }
                    }
                }
            }else{
                message.info("查询数据失败,请确认参数是否填写正确")
            }
        })

    }
//查询单元的按钮
    const getCell =()=>{
        //按日单元统计
        axios.post("/analyze/common/findStatisticsOfCell",
            {"startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[],
                    }
                ]
            }
        ).then((res: any) => {
            if (res.success) {
                resultList.value = res.data;
                let dateArr: any = [], numArr1: any = [], numArr2: any = [];
                res.data[0].info.forEach((item:any)=>{
                    dateArr.push(item.gtmCreate)
                    numArr1.push(0);
                    numArr2.push(0);})

                for (let k = 0; k < dateArr.length; k++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp = resultList.value[i].info;
                        let index = temp.findIndex((item: any) => {
                            return item.gtmCreate === dateArr[k]
                        });
                        let num = temp[index].openCount;
                        numArr1[k] += parseInt(num);
                        let val = temp[index].passCount;
                        numArr2[k] += parseInt(val);
                        cellAnalOption.value=  {
                            grid:{
                                bottom:'10%',
                            },
                            legend: {
                                left: 'right'
                            },
                            tooltip: {},
                            xAxis: {
                                data: dateArr
                            },
                            yAxis: {},
                            series: [
                                {name: '创建单元',
                                    type: 'bar',
                                    color:'#0455A4',
                                    data: numArr1
                                },
                                {name: '过审单元',
                                    type: 'bar',
                                    color:'#2D99FF',
                                    data: numArr2
                                }
                            ]
                        }
                    }
                }


            }

        })
        //按月单元统计
        axios.post("/analyze/common/findStatisticsOfCellMonthly",
            {"startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[],
                    }
                ]
            }
        ).then((res: any) => {
            if (res.success) {
                resultList.value = res.data;
                let dateArr: any = [], numArr1: any = [], numArr2: any = [];
                res.data[0].info.forEach((item:any)=>{
                    dateArr.push(item.gtmCreate)
                    numArr1.push(0);
                    numArr2.push(0);})

                for (let k = 0; k < dateArr.length; k++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp = resultList.value[i].info;
                        let index = temp.findIndex((item: any) => {
                            return item.gtmCreate === dateArr[k]
                        });
                        let num = temp[index].openCount;
                        numArr1[k] += parseInt(num);
                        let val = temp[index].passCount;
                        numArr2[k] += parseInt(val);
                        cellMonthOption.value=  {
                            grid:{
                                bottom:'10%',
                            },
                            legend: {
                                left: 'right'
                            },
                            tooltip: {},
                            xAxis: {
                                data: dateArr
                            },
                            yAxis: {},
                            series: [
                                {name: '创建单元',
                                    type: 'bar',
                                    color:'#0455A4',
                                    data: numArr1
                                },
                                {name: '过审单元',
                                    type: 'bar',
                                    color:'#2D99FF',
                                    data: numArr2
                                }
                            ]
                        }
                    }
                }


            }

        })
    }
//查询强夯的扭扭
    const getTampScene =()=>{
        //按日的强夯机械统计
        axios.post("/analyze/common/findStatisticsOfDevice",
            {"startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[2],
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data

                let dateArr: any = [], nameArr: any = [], numArr1: any = [],numArr2:any=[] ,tampCraftItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].info.forEach((item:any)=>{ dateArr.push(item.dateTime)})

                for (let i=0;i<resultList.value.length;i++){
                    let temp=resultList.value[i].info;
                    for(let j=0;j<temp.length;j++){
                        numArr1.push(temp[j].presenceNums)
                    }

                    tampCraftItem.push(
                        {
                            name:resultList.value[i].sectionName,
                            type:'line',
                            data:numArr1
                        }

                    )
                    numArr1=[]
                }

                tampSceneOption.value={

                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        data:nameArr
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    xAxis:{
                        type:'category',
                        boundaryGap:false,
                        data:dateArr
                    },
                    yAxis:{
                        type:'value',
                        minInterval:1
                    },
                    series:tampCraftItem
                }
            }
            else
            {
                tampnum.value=0
                message.info("查询数据失败,没有强夯权限")
            }
        })
        //按月的强夯机械统计
        axios.post("/analyze/common/findStatisticsOfDeviceMonthly",
            {"startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[2],
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data

                let dateArr: any = [], nameArr: any = [], numArr1: any = [],numArr2:any=[] ,tampCraftItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].info.forEach((item:any)=>{ dateArr.push(item.dateTime)})

                for (let i=0;i<resultList.value.length;i++){
                    let temp=resultList.value[i].info;
                    for(let j=0;j<temp.length;j++){
                        numArr1.push(temp[j].presenceNums)
                    }
                    tampCraftItem.push(
                        {
                            name:resultList.value[i].sectionName,
                            type:'line',
                            data:numArr1
                        }

                    )
                    numArr1=[]
                }

                tampSceneMonthOption.value={

                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        data:nameArr
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    toolbox:{
                    },
                    xAxis:{
                        type:'category',
                        boundaryGap:false,
                        data:dateArr
                    },
                    yAxis:{
                        type:'value',
                        minInterval:1
                    },
                    series:tampCraftItem
                }
            }
            else
            {
                tampnum.value=0
                message.info("查询数据失败,没有强夯权限")
            }
        })
    }
//查询强夯夯击次数的扭扭
    const getTampBulid =()=>{
        //按日的强夯夯击次数统计
        axios.post("/analyze/tamp/findBuildTimes",
            {
                "section": [
                    {
                        "sectionId": AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                        "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                    }
                ]
            }
        ).then((res: any) => {
            if (res.success) {
                resultList.value = res.data

                let dateArr: any = [], nameArr: any = [], tampArr: any = [], tampItem: any = [];
                res.data.forEach((item: any) => {
                    nameArr.push(item.sectionName)
                })
                res.data[0].buildInfo.forEach((item: any) => {
                    dateArr.push(item.dateTime)
                })

                for (let k = 0; k < dateArr.length; k++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp = resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[k]
                        });
                        tampArr.push(temp[index].timesBuild)
                    }
                    tampItem.push(
                        {
                            name: dateArr[k],
                            type: 'bar',
                            stack: 'total',
                            barMaxWidth: 50,
                            label: {
                                show: true
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: tampArr
                        }
                    )
                    tampArr = []
                }
                tampBuildOption.value = {
                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    yAxis: {
                        type: 'value'

                    },
                    series: tampItem
                }

            } else {
                message.info("查询数据失败,没有强夯权限")
            }

        })
        //按月的强夯夯击次数统计
        axios.post("/analyze/tamp/findBuildTimesMonthly",
            {
                "section": [
                    {
                        "sectionId": AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                        "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                    }
                ]
            }
        ).then((res: any) => {
            if (res.success) {
                resultList.value = res.data

                let dateArr: any = [], nameArr: any = [], tampArr: any = [], tampItem: any = [];
                res.data.forEach((item: any) => {
                    nameArr.push(item.sectionName)
                })
                res.data[0].buildInfo.forEach((item: any) => {
                    dateArr.push(item.dateTime)
                })

                for (let k = 0; k < dateArr.length; k++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp = resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[k]
                        });
                        tampArr.push(temp[index].timesBuild)
                    }
                    tampItem.push(
                        {
                            name: dateArr[k],
                            type: 'bar',
                            stack: 'total',
                            barMaxWidth: 50,
                            label: {
                                show: true
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: tampArr
                        }
                    )
                    tampArr = []
                }
                tampBuildMonthOption.value = {
                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    yAxis: {
                        type: 'value'

                    },
                    series: tampItem
                }

            } else {
                message.info("查询数据失败,没有强夯权限")
            }

        })
    }
//查询碾压的扭扭
    const getCompScene =()=>{
        //按日碾压机械统计
        axios.post("/analyze/common/findStatisticsOfDevice",
            { "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[3,4],
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data
                let dateArr: any = [], nameArr: any = [], numArr: any = [], compCraftItem: any = [];
                res.data[0].info.forEach((item: any) => {
                    dateArr.push(item.dateTime)
                })
                res.data.forEach((item1: any) => {
                    nameArr.push(item1.sectionName)
                })

                for (let i = 0; i < resultList.value.length; i++) {
                    let temp = resultList.value[i].info;
                    for (let j = 0; j < temp.length; j++) {
                        numArr.push(temp[j].presenceNums)
                    }

                    compCraftItem.push(
                        {
                            name: resultList.value[i].sectionName,
                            type: 'line',
                            data: numArr
                        }
                    )
                    numArr = [];
                }
                compSceneOption.value={

                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        data:nameArr
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    toolbox:{
                    },
                    xAxis:{
                        type:'category',
                        boundaryGap:false,
                        data:dateArr
                    },
                    yAxis:{
                        type:'value',
                        minInterval:1
                    },
                    series:compCraftItem
                }
            }
            else
            {
                compnum.value=0;
                message.info("查询数据失败,没有碾压权限")
            }
        })
        //按月碾压机械统计
        axios.post("/analyze/common/findStatisticsOfDeviceMonthly",
            { "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[3,4],
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data
                let dateArr: any = [], nameArr: any = [], numArr: any = [], compCraftItem: any = [];
                res.data[0].info.forEach((item: any) => {
                    dateArr.push(item.dateTime)
                })
                res.data.forEach((item1: any) => {
                    nameArr.push(item1.sectionName)
                })

                for (let i = 0; i < resultList.value.length; i++) {
                    let temp = resultList.value[i].info;
                    for (let j = 0; j < temp.length; j++) {
                        numArr.push(temp[j].presenceNums)
                    }
                    compCraftItem.push(
                        {
                            name: resultList.value[i].sectionName,
                            type: 'line',
                            data: numArr
                        }
                    )
                    numArr = [];
                }
                compSceneMonthOption.value={

                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        data:nameArr
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    toolbox:{
                    },
                    xAxis:{
                        type:'category',
                        boundaryGap:false,
                        data:dateArr
                    },
                    yAxis:{
                        type:'value',
                        minInterval:1
                    },
                    series:compCraftItem
                }
            }
            else
            {
                compnum.value=0;
                message.info("查询数据失败,没有碾压权限")
            }
        })

    }
//查询碾压里程的扭扭
    const getCompDistance =()=>{
        //按日碾压里程统计
        axios.post("/analyze/comp/findCompDistance",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                        "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], compArr: any = [], compItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        compArr.push(((temp[index].mileage)/1000).toFixed(2))
                    }
                    compItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: compArr
                        }
                    )
                    compArr=[]
                }
                compDistanceOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        },
                        formatter(params: any) {
                            let relVal = params[0].name;
                            for (let i = 0, l = params.length; i < l; i++) {
                                relVal += '<br/>' + params[i].marker + params[i].seriesName + '\xa0\xa0\xa0 ' + params[i].value + "公里";
                            }
                            return relVal;
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:compItem
                }
            }else{
                message.info("查询数据失败,没有碾压权限")
            }
        })
        //按月碾压里程统计
        axios.post("/analyze/comp/findCompDistanceMonthly",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                        "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], compArr: any = [], compItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        compArr.push(((temp[index].mileage)/1000).toFixed(2))
                    }
                    compItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: compArr
                        }
                    )
                    compArr=[]
                }
                compDistanceMonthOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        },
                        formatter(params: any) {
                            let relVal = params[0].name;
                            for (let i = 0, l = params.length; i < l; i++) {
                                relVal += '<br/>' + params[i].marker + params[i].seriesName + '\xa0\xa0\xa0 ' + params[i].value + "公里";
                            }
                            return relVal;
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:compItem
                }
            }else{
                message.info("查询数据失败,没有碾压权限")
            }
        })
    }
//查询摊铺面积的妞妞
    const getPaveArea =()=>{
        //按日摊铺面积
        axios.post("/analyze/pave/findBuildDaily",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                        "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], paveArr: any = [], paveItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        paveArr.push(temp[index].area)
                    }
                    paveItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: paveArr
                        }
                    )
                    paveArr=[]
                }
                paveAreaOption.value={
                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        },
                        formatter(params: any) {
                            let relVal = params[0].name;
                            for (let i = 0, l = params.length; i < l; i++) {
                                relVal += '<br/>' + params[i].marker + params[i].seriesName + '\xa0\xa0\xa0 ' + params[i].value + "平方米";
                            }
                            return relVal;
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:paveItem
                }
            }else{
                message.info("查询数据失败,没有摊铺权限")
            }
        })
        //按月摊铺面积
        axios.post("/analyze/pave/findBuildMonthly",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                        "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], paveArr: any = [], paveItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        paveArr.push(temp[index].area)
                    }
                    paveItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: paveArr
                        }
                    )
                    paveArr=[]
                }
                paveAreaMonthOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        },
                        formatter(params: any) {
                            let relVal = params[0].name;
                            for (let i = 0, l = params.length; i < l; i++) {
                                relVal += '<br/>' + params[i].marker + params[i].seriesName + '\xa0\xa0\xa0 ' + params[i].value + "平方米";
                            }
                            return relVal;
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:paveItem
                }
            }else{
                message.info("查询数据失败,没有摊铺权限")
            }
        })
    }
//查询cfg深度的妞妞
    const getCfgDepth =()=>{
        //按日CFG深度
        axios.post("/analyze/cfg/findBuildDaily",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                        "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data
                let dateArr: any = [], nameArr: any = [], numArr: any = [], cfgItem: any = [];
                res.data[0].buildInfo.forEach((item: any) => {
                    dateArr.push(item.dateTime)
                })
                res.data.forEach((item1: any) => {
                    nameArr.push(item1.sectionName)
                })

                for (let i = 0; i < resultList.value.length; i++) {
                    let temp = resultList.value[i].buildInfo;
                    for (let j = 0; j < temp.length; j++) {
                        numArr.push(temp[j].depth)
                    }

                    cfgItem.push(
                        {
                            name: resultList.value[i].sectionName,
                            type: 'line',
                            data: numArr
                        }
                    )

                    numArr = [];
                }
                cfgDepthOption.value={

                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        data:nameArr
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    toolbox:{
                    },
                    xAxis:{
                        type:'category',
                        boundaryGap:false,
                        data:dateArr
                    },
                    yAxis:{
                        type:'value',
                        minInterval:1
                    },
                    series:cfgItem
                }
            }
            else
            {
                message.info("查询数据失败,没有CFG权限")
            }
        })
        //按月CFG深度
        axios.post("/analyze/cfg/findBuildMonthly",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                        "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data
                let dateArr: any = [], nameArr: any = [], numArr: any = [], cfgItem: any = [];
                res.data[0].buildInfo.forEach((item: any) => {
                    dateArr.push(item.dateTime)
                })
                res.data.forEach((item1: any) => {
                    nameArr.push(item1.sectionName)
                })

                for (let i = 0; i < resultList.value.length; i++) {
                    let temp = resultList.value[i].buildInfo;
                    for (let j = 0; j < temp.length; j++) {
                        numArr.push(temp[j].depth)
                    }

                    cfgItem.push(
                        {
                            name: resultList.value[i].sectionName,
                            type: 'line',
                            data: numArr
                        }
                    )

                    numArr = [];
                }
                cfgDepthMonthOption.value={

                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        data:nameArr
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    toolbox:{
                    },
                    xAxis:{
                        type:'category',
                        boundaryGap:false,
                        data:dateArr
                    },
                    yAxis:{
                        type:'value',
                        minInterval:1
                    },
                    series:cfgItem
                }
            }
            else
            {
                message.info("查询数据失败,没有CFG权限")
            }
        })
    }
//查询cfg根数的扭扭
    const getCfgCount =()=>{
        //按日CFG根数
        axios.post("/analyze/cfg/findBuildDaily",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                        "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], countArr:any=[],cfgCountItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        countArr.push(temp[index].count)
                    }
                    cfgCountItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: countArr
                        }
                    )
                    countArr=[]
                }
                cfgCountOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:cfgCountItem
                }
            }else{
                message.info("查询数据失败,没有CFG权限")
            }
        })
        //按月CFG根数
        axios.post("/analyze/cfg/findBuildMonthly",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                        "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], countArr:any=[],cfgCountItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        countArr.push(temp[index].count)
                    }
                    cfgCountItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: countArr
                        }
                    )
                    countArr=[]
                }
                cfgCountMonthOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:cfgCountItem
                }
            }else{
                message.info("查询数据失败,没有CFG权限")
            }
        })
    }
//查询旋挖钻深度的妞妞
    const getRotaryDepth =()=>{
        //按日CFG深度
        axios.post("/analyze/rotary/findBuildDaily",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                        "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data
                let dateArr: any = [], nameArr: any = [], numArr: any = [], rotaryItem: any = [];
                res.data[0].buildInfo.forEach((item: any) => {
                    dateArr.push(item.dateTime)
                })
                res.data.forEach((item1: any) => {
                    nameArr.push(item1.sectionName)
                })

                for (let i = 0; i < resultList.value.length; i++) {
                    let temp = resultList.value[i].buildInfo;
                    for (let j = 0; j < temp.length; j++) {
                        numArr.push(temp[j].depth)
                    }

                    rotaryItem.push(
                        {
                            name: resultList.value[i].sectionName,
                            type: 'line',
                            data: numArr
                        }
                    )

                    numArr = [];
                }
                RotaryDepthOption.value={

                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        data:nameArr
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    toolbox:{
                    },
                    xAxis:{
                        type:'category',
                        boundaryGap:false,
                        data:dateArr
                    },
                    yAxis:{
                        type:'value',
                        minInterval:1
                    },
                    series:rotaryItem
                }
            }
            else
            {
                message.info("查询数据失败,没有旋挖钻权限")
            }
        })
        //按月旋挖钻深度
        axios.post("/analyze/rotary/findBuildMonthly",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                        "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data
                let dateArr: any = [], nameArr: any = [], numArr: any = [], rotaryItem: any = [];
                res.data[0].buildInfo.forEach((item: any) => {
                    dateArr.push(item.dateTime)
                })
                res.data.forEach((item1: any) => {
                    nameArr.push(item1.sectionName)
                })

                for (let i = 0; i < resultList.value.length; i++) {
                    let temp = resultList.value[i].buildInfo;
                    for (let j = 0; j < temp.length; j++) {
                        numArr.push(temp[j].depth)
                    }

                    rotaryItem.push(
                        {
                            name: resultList.value[i].sectionName,
                            type: 'line',
                            data: numArr
                        }
                    )

                    numArr = [];
                }
                RotaryDepthMonthOption.value={

                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        data:nameArr
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    toolbox:{
                    },
                    xAxis:{
                        type:'category',
                        boundaryGap:false,
                        data:dateArr
                    },
                    yAxis:{
                        type:'value',
                        minInterval:1
                    },
                    series:rotaryItem
                }
            }
            else
            {
                message.info("查询数据失败,没有旋挖钻权限")
            }
        })
    }
//查询旋挖钻根数的扭扭
    const getRotaryCount =()=>{
        //按日旋挖钻根数
        axios.post("/analyze/rotary/findBuildDaily",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                        "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], countArr:any=[],rotaryCountItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        countArr.push(temp[index].count)
                    }
                    rotaryCountItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: countArr
                        }
                    )
                    countArr=[]
                }
                RotaryCountOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:rotaryCountItem
                }
            }else{
                message.info("查询数据失败,没有旋挖钻权限")
            }
        })
        //按月旋挖钻根数
        axios.post("/analyze/rotary/findBuildMonthly",
            {"section":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                        "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], countArr:any=[],rotaryCountItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        countArr.push(temp[index].count)
                    }
                    rotaryCountItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: countArr
                        }
                    )
                    countArr=[]
                }
                RotaryCountMonthOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:rotaryCountItem
                }
            }else{
                message.info("查询数据失败,没有旋挖钻权限")
            }
        })
    }
//查询车辆总里程
    const getTrackDistance=()=>{
        axios.post("/beta/findBuildTotle",
            {
                "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data
                let  nameArr: any = [], mileageArr: any = [],numArr2:any=[] ;
                res.data.forEach((item1: any) => {
                    nameArr.push(item1.sectionName)
                })

                for (let i=0;i<resultList.value.length;i++){
                    let temp=resultList.value[i].buildInfo;
                    mileageArr.push(temp.mileage)

                TrackDistanceOption.value={
                    tooltip:{
                        trigger:'axis'
                    },
                    legend:{
                        left: 'right'
                    },
                    grid:{
                        left:'3%',
                        right:'4%',
                        bottom:'3%',
                        containLabel:true
                    },
                    xAxis: {
                        data: nameArr
                    },
                    yAxis: {},
                    series: [
                        {name: '施工里程',
                            type: 'bar',
                            color:'#2D99FF',
                            data: mileageArr
                        }
                    ]
                }
            }
            }
            else
            {

                message.info("查询数据失败,")
            }
        })

    }
//查询车辆里程
    const getVehicleDistance =()=>{
        //按日查询车辆里程
        axios.post("/beta/findBuildDaily",
           { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                "startTime" :moment((dailytime.value[0]).toDate()).format('yyyy-MM-DD'),
                 "endTime":moment((dailytime.value[1]).toDate()).format('yyyy-MM-DD'),
                    }

        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], mileageArr:any=[],mileageItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        mileageArr.push(temp[index].mileageDelt)
                    }
                    mileageItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: mileageArr
                        }
                    )
                    mileageArr=[]
                }
                VehicleDistanceOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:mileageItem
                }
            }else{
                message.info("查询数据失败,没有车辆权限")
            }
        })
        //按月车辆里程
        axios.post("/beta/findBuildMonthly",
             { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                    "startTime" :moment((monthtime.value[0]).toDate()).format('yyyy-MM'),
                   "endTime":moment((monthtime.value[1]).toDate()).format('yyyy-MM'),
            }
        ).then((res:any)=>{
            if(res.success){
                resultList.value= res.data
                let dateArr: any = [], nameArr: any = [], mileageArr:any=[],mileageItem: any = [];
                res.data.forEach((item1:any)=>{ nameArr.push(item1.sectionName)})
                res.data[0].buildInfo.forEach((item2:any)=>{dateArr.push(item2.dateTime)})

                for (let j = 0; j < dateArr.length; j++) {
                    for (let i = 0; i < resultList.value.length; i++) {
                        let temp=resultList.value[i].buildInfo;
                        let index = temp.findIndex((item: any) => {
                            return item.dateTime === dateArr[j]
                        });
                        mileageArr.push(temp[index].mileageDelt)
                    }
                    mileageItem.push(
                        {
                            name: dateArr[j],
                            type: 'bar',
                            barMaxWidth:50,
                            stack: 'total',
                            label: {
                                show: true,
                            },
                            emphasis: {
                                focus: 'series'
                            },
                            data: mileageArr
                        }
                    )
                    mileageArr=[]
                }
                VehicleDistanceMonthOption.value={

                    color: ['#031622', "#2B495E", "#2B659D",'#297AC8', "#267FD3",'#297AE5','#2D92F2','#5AADFF'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: ''
                        }
                    },
                    legend: {
                        left: 'right',
                        data: dateArr
                    },
                    grid: {

                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'value'

                    },
                    yAxis: {
                        type: 'category',
                        data: nameArr
                    },
                    series:mileageItem
                }
            }else{
                message.info("查询数据失败,没有车辆权限")
            }
        })
    }
    //查询车辆的今日在线
    const getVehicleScene =() =>{
        axios.post("/beta/findStatisticsOfVehicle",
            {"startTime" :AnalyseQueryFormState.value.endTime,
                "endTime":AnalyseQueryFormState.value.endTime,
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[],
                    }
                ]
            }
        ).then((res:any)=>{
            if (res.success) {
                resultList.value = res.data
                let sprinklesum = 0, diggersum = 0, bulldozersum = 0, tracksum = 0, cranesum = 0, asiewsum = 0, loadersum = 0, drillsum = 0, gradersum = 0, carsum = 0;
                let sprinklePre = 0, diggerPre = 0, bulldozerPre = 0, trackPre = 0, cranePre = 0, asiewPre = 0, loaderPre = 0, drillPre = 0, graderPre = 0, carPre = 0;
                for (let i = 0; i < resultList.value.length; i++) {
                    let target = resultList.value[i].craft
                    if(target != []) {
                        for (let j = 0; j < target.length; j++) {
                            if (target[j].kind == 1) {
                                sprinklesum += target[j].onlineNums
                                sprinklePre += target[j].presenceNums
                            } else if (target[j].kind == 2) {
                                diggersum += target[j].onlineNums
                                diggerPre += target[j].presenceNums
                            } else if (target[j].kind == 3) {
                                bulldozersum += target[j].onlineNums
                                bulldozerPre += target[j].presenceNums
                            } else if (target[j].kind == 4) {
                                tracksum += target[j].onlineNums
                                trackPre += target[j].presenceNums
                            } else if (target[j].kind == 5) {
                                cranesum += target[j].onlineNums
                                cranePre += target[j].presenceNums
                            } else if (target[j].kind == 6) {
                                asiewsum += target[j].onlineNums
                                asiewPre += target[j].presenceNums
                            } else if (target[j].kind == 7) {
                                loadersum += target[j].onlineNums
                                loaderPre += target[j].presenceNums
                            } else if (target[j].kind == 8) {
                                drillsum += target[j].onlineNums
                                drillPre += target[j].presenceNums
                            } else if (target[j].kind == 9) {
                                gradersum += target[j].onlineNums
                                graderPre += target[j].presenceNums
                            } else if (target[j].kind == 10) {
                                carsum += target[j].onlineNums
                                carPre += target[j].presenceNums
                            }
                            // 在线
                            sprinklenum.value = sprinklesum; diggernum.value = diggersum; bulldozernum.value = bulldozersum
                            tracknum.value = tracksum, cranenum.value = cranesum, asiewnum.value = asiewsum
                            loadernum.value = loadersum, drillnum.value = drillsum, gradernum.value = gradersum
                            carnum.value = carsum
                            // 在场
                            sprinklePresent.value = sprinklePre; diggerPresent.value = diggerPre; bulldozerPresent.value = bulldozerPre
                            trackPresent.value = trackPre, cranePresent.value = cranePre, asiewPresent.value = asiewPre
                            loaderPresent.value = loaderPre, drillPresent.value = drillPre, graderPresent.value = graderPre
                            carPresent.value = carPre
                        }
                    }
                }
            } else{}
        })
    }

    //总览页面的一些查询
    const getStatisticsOfSection = ()=>{
     // //今日强夯在线
     //    axios.post("/analyze/common/findStatisticsOfDevice",
     //        {"startTime" :AnalyseQueryFormState.value.endTime,
     //            "endTime":AnalyseQueryFormState.value.endTime,
     //            "sections":[
     //                { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
     //                    "kind":[2],
     //                }
     //            ]
     //        }
     //    ).then((res:any)=>{
     //        if(res.success) {
     //            resultList.value = res.data
     //            let  tampsum =0;
     //            for (let i = 0; i < resultList.value.length; i++) {
     //                let temp = resultList.value[i].info;
     //                temp.forEach((item:any) => {
     //                    tampsum += item.onlineNums
     //                })
     //                tampnum.value=tampsum
     //            }
     //        } else
     //        {
     //            tampnum.value = 0
     //        }
     //    })
     // //今日碾压在线
     //    axios.post("/analyze/common/findStatisticsOfDevice",
     //        {"startTime" :AnalyseQueryFormState.value.endTime,
     //            "endTime":AnalyseQueryFormState.value.endTime,
     //            "sections":[
     //                { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
     //                    "kind":[3,4],
     //                }
     //            ]
     //        }
     //    ).then((res:any)=>{
     //        if(res.success) {
     //            resultList.value = res.data
     //            let  compsum =0, m=0 ,p=0;
     //            for (let i = 0; i < resultList.value.length; i++) {
     //                let temp = resultList.value[i].info;
     //                temp.forEach((item:any) => {
     //                    compsum += item.onlineNums;
     //                })
     //                compnum.value=compsum
     //            }
     //        }
     //        else
     //        {
     //            compnum.value = 0
     //        }
     //    })
     // //今日摊铺在线
     //    axios.post("/analyze/common/findStatisticsOfDevice",
     //        {"startTime" :AnalyseQueryFormState.value.endTime,
     //            "endTime":AnalyseQueryFormState.value.endTime,
     //            "sections":[
     //                { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
     //                    "kind":[8,9],
     //                }
     //            ]
     //        }
     //    ).then((res:any)=>{
     //        if(res.success) {
     //            resultList.value = res.data
     //            let  pavesum =0;
     //            for (let i = 0; i < resultList.value.length; i++) {
     //                let temp = resultList.value[i].info;
     //                temp.forEach((item:any) => {
     //                    pavesum += item.onlineNums
     //                })
     //                pavenum.value=pavesum
     //            }
     //        }else
     //        {
     //            pavenum.value = 0
     //        }
     //    })
     // //今日CFG在线
     //    axios.post("/analyze/common/findStatisticsOfDevice",
     //        {"startTime" :AnalyseQueryFormState.value.endTime,
     //            "endTime":AnalyseQueryFormState.value.endTime,
     //            "sections":[
     //                { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
     //                    "kind":[10],
     //                }
     //            ]
     //        }
     //    ).then((res:any)=>{
     //        if(res.success) {
     //            resultList.value = res.data
     //            let  cfgsum =0;
     //            for (let i = 0; i < resultList.value.length; i++) {
     //                let temp = resultList.value[i].info;
     //                temp.forEach((item:any) => {
     //                    cfgsum += item.onlineNums
     //                })
     //                cfgnum.value=cfgsum
     //            }
     //        }else
     //        {
     //            cfgnum.value = 0
     //        }
     //    })
     //    //今日旋挖在线
     //    axios.post("/analyze/common/findStatisticsOfDevice",
     //        {"startTime" :AnalyseQueryFormState.value.endTime,
     //            "endTime":AnalyseQueryFormState.value.endTime,
     //            "sections":[
     //                { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
     //                    "kind":[15],
     //                }
     //            ]
     //        }
     //    ).then((res:any)=>{
     //        if(res.success) {
     //            resultList.value = res.data
     //            let  rotarysum =0;
     //            for (let i = 0; i < resultList.value.length; i++) {
     //                let temp = resultList.value[i].info;
     //                temp.forEach((item:any) => {
     //                    rotarysum += item.onlineNums
     //                })
     //                rotarynum.value=rotarysum
     //            }
     //        }else
     //        {
     //            rotarynum.value = 0
     //        }
     //    })

        //机械类的今日在线统计/今日在场数量
        axios.post("/analyze/common/findStatisticsOfMachinery",
            {"startTime" :AnalyseQueryFormState.value.endTime,
                "endTime":AnalyseQueryFormState.value.endTime,
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[],
                    }
                ]
            }
        ).then((res:any)=>{
            if (res.success) {
                resultList.value = res.data
                let tampsum = 0, compsum = 0, pavesum = 0, cfgsum = 0, rotarysum = 0, cementsum = 0;
                let tampPre = 0, compPre = 0, pavePre = 0, cfgPre = 0, rotaryPre = 0, cementPre = 0;
                for (let i = 0; i < resultList.value.length; i++) {
                    let target = resultList.value[i].craft
                    if(target != []) {
                        for (let j = 0; j < target.length; j++) {
                            if (target[j].kind == 2) {
                                tampsum += target[j].onlineNums
                                tampPre += target[j].presenceNums
                            } else if (target[j].kind == 3 || target[j].kind == 4 ) {
                                compsum += target[j].onlineNums
                                compPre += target[j].presenceNums
                            } else if (target[j].kind == 8) {
                                pavesum += target[j].onlineNums
                                pavePre += target[j].presenceNums
                            } else if (target[j].kind == 10) {
                                cfgsum += target[j].onlineNums
                                cfgPre += target[j].presenceNums
                            } else if (target[j].kind == 15) {
                                rotarysum += target[j].onlineNums
                                rotaryPre += target[j].presenceNums
                            } else if (target[j].kind == 22) {
                                cementsum += target[j].onlineNums
                                cementPre += target[j].presenceNums
                            }
                            // 在线
                            tampnum.value = tampsum; compnum.value = compsum; pavenum.value = pavesum;
                            cfgnum.value = cfgsum; rotarynum.value = rotarysum; cementnum.value = cementsum
                            // 在场
                            tampPresent.value = tampPre; compPresent.value = compPre; pavePresent.value = pavePre;
                            cfgPresent.value = cfgPre; rotaryPresent.value = rotaryPre; cementPresent.value = cementPre
                        }
                    }
                }
            } else
            {

            }
        })

        //上线率的统计
        axios.post("/analyze/common/findOnline",
            {"sectionId": AnalyseQueryFormState.value.sections[0].sectionId}
            ).then((res: any) => {
                if (res.success) {
                resultList.value=res.data;
                    let ratio=(resultList.value.proportion).toFixed(2);
                    refreshTime.value=resultList.value.dateTime
                    ratioOption.value = {
                        title: {
                            padding: [25,50],
                            text: '机械在线率'
                        },
                        tooltip: {
                            trigger: 'axis',
                            axisPointer: {//坐标轴指示器，坐标轴触发有效
                                type: ''//默认为直线，可选为：'line'|'shadow'
                            }
                        },
                        grid: {
                            left: '5%',
                            right: '5%',
                            top: '80%',
                        },
                        xAxis: {
                            type: '',
                            show: false,//控制x坐标轴的显示隐藏
                        },
                        yAxis: {
                            show: false,//控制y坐标轴的显示隐藏
                            type: 'category',
                        },
                        series: [
                            {
                                type: 'bar',
                                data: [ratio],
                                tooltip: {show: false},
                                barMinHeight: 0,//最小柱高
                                barWidth: 30,//柱宽度
                                z: 10,//控制图表前后顺序
                                itemStyle: {//柱子样式
                                    normal: {
                                        barBorderRadius:[15, 15, 15, 15],
                                        color: '#2D99FF',//柱状图颜色
                                        label: {
                                            show: true,//显示文本
                                            position:  [200,-60],//数据值位置
                                            formatter: '{c}%',//百分比
                                            textStyle: {
                                                color: '#1677FF',
                                                fontSize:30,
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                type: 'bar',
                                data: [100],
                                tooltip: {show: false},
                                barMinHeight: 100,
                                barWidth: 30,
                                barGap: '-100%',//两个柱子之间的距离，如果要重叠设置为-100%
                                itemStyle: {
                                    normal: {
                                        barBorderRadius:[15, 15, 15, 15],
                                        color: '#D0D0D0',//柱子颜色，作为底层背景
                                    }
                                }
                            }
                        ]
                    }
                }
            })
        //单元总览
        axios.post("/analyze/common/findCellCount",
            {"sectionId": AnalyseQueryFormState.value.sections[0].sectionId}
        ).then((res: any) => {
            if (res.success) {
               let passCount=res.data.passCount,  openCount=res.data.openCount;
                let count = openCount-passCount

                cellOption.value = {

                    tooltip: {},
                    series: [{
                        name: '',
                        type: 'pie',
                        radius: ['65%', '80%'],
                        label: {
                            normal: {
                                position: 'center'
                            }
                        },
                        hoverAnimation: false,
                        data: [{
                            value:passCount,
                            name: '过审单元',
                            itemStyle:{
                                normal:{color: '#2D99FF',
                                }
                            },
                            label: {
                                normal: {
                                    formatter: '\n过审率{d}%',
                                    textStyle: {
                                        fontSize: 20,
                                        fontWeight:'bold'
                                    }
                                }
                            },
                        }, {
                            value:count,
                            name: '未过审单元',
                            label: {
                                normal: {
                                    show:false,
                                    formatter: '',
                                }
                            },
                            itemStyle:{
                                normal:{
                                    color: '#C0C0C0'
                                }
                            },
                        }]
                    }]
                }
            }
        })

        //环境监控之天气
        axios.post("/weather/findLastInfo",
            {"sectionId": AnalyseQueryFormState.value.sections[0].sectionId}).then((res:any)=>{
            if(res.success){
                weatherList.value=res.data;

            }else{
                weatherList.value.temp='--';
                weatherList.value.wind='--';
                weatherList.value.humidity='--';
                weatherList.value.pm25='--';
                weatherList.value.pm10='--';
                weatherList.value.noise='--';
                message.info("没有监控点，天气数据查询失败")
            }
        })
    };
    //环境监控之扬尘悬浮
    const dateTime= () => {
        calendarMonth.value = calendar.value.pages[0].key
        axios.post("/weather/findStatics",
            {"sectionId": AnalyseQueryFormState.value.sections[0].sectionId,
                "startTime":calendarMonth.value}).then((res:any)=>{
            if(res.success){
                testList.value=res.data.weatherinfo;

                let datetime:any=[],aqiData:any=[];
                testList.value.forEach((item: any) => {
                    datetime.push(item.dateTime)
                    aqiData.push(item.aqiStr)
                })
                //正则判断扬尘天数
                let regex = new RegExp('中度污染|重度污染|严重污染', 'g');
                let result = (aqiData.join(',')).match(regex);
                let count = !result ? 0 : result.length;
                dustDays.value=count

                const todos:any = []
                for (let i=0;i<testList.value.length;i++) {
                    todos.push(
                        {
                            description: aqiData[i],
                            dates: datetime[i]
                        }
                    )
                }
                attrs.value = [
                    {
                        highlight: true,
                        dates: new Date(),
                    },
                    ...todos.map((todo: any) => ({
                        dates: todo.dates,
                        popover: {
                            label: todo.description
                        },
                        customData: todo,
                    }))
                ]
            }else{
                attrs.value = [{
                    highlight: true,
                    dates: new Date() }]
                message.info("没有监控点，扬尘数据查询失败")
            }
        })
    }
//强夯夯点
    const getTampPoint=()=>{
        // 强夯设计点统计
        axios.post("/analyze/tamp/findDesignInfo",
            {"sectionId":AnalyseQueryFormState.value.sections[0].sectionId}
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data

                let designPoint=0 ,actualPoint=0;
                for (let i = 0; i < resultList.value.length; i++) {
                    let num = resultList.value[i].designPoint;
                    designPoint += parseInt(num);
                    let val = resultList.value[i].actualPoint;
                    actualPoint += parseInt(val);
                    let  count = designPoint-actualPoint;

                    tampOption.value = {
                        title:{
                            text:'强夯总览'
                        },
                        tooltip: {},
                        series: [{
                            name: '',
                            type: 'pie',
                            radius: ['65%', '80%'],
                            label: {
                                normal: {
                                    position: 'center'
                                }
                            },
                            hoverAnimation: false,
                            data: [{
                                value:actualPoint,
                                name: '已夯点',
                                itemStyle:{
                                    normal:{color: '#2D99FF',
                                    }
                                },
                                label: {
                                    normal: {
                                        formatter: '\n已施工占比{d}%',
                                        textStyle: {
                                            fontSize: 20,
                                            fontWeight:'bold'
                                        }
                                    }
                                },
                            }, {
                                value:count,
                                name: '剩余设计点',
                                label: {
                                    normal: {
                                        show:false,
                                        formatter: '',
                                    }
                                },
                                itemStyle:{
                                    normal:{
                                        color: '#C0C0C0'
                                    }
                                },
                            }]
                        }]
                    }

                }
            }
        })

    }
//碾压饼图
    const getCompPresent=()=>{
        axios.post("/analyze/common/findStatisticsOfDevice",
            {"startTime" :AnalyseQueryFormState.value.endTime,
                "endTime":AnalyseQueryFormState.value.endTime,
                "sections":[
                    { "sectionId":  AnalyseQueryFormState.value.sections[0].sectionId,
                        "kind":[3,4],
                    }
                ]
            }
        ).then((res:any)=>{
            if(res.success) {
                resultList.value = res.data
                let  compsum =0, m=0 ;
                for (let i = 0; i < resultList.value.length; i++) {
                    let temp = resultList.value[i].info;
                    temp.forEach((item:any) => {
                        compsum += item.onlineNums;
                        m+=item.presenceNums

                    })
                    compOption.value = {
                        title: {
                            text: '在线状态',
                            top: 20,
                        },
                        color:['#0455A4','#2D99FF' ],
                        tooltip: {
                            trigger: 'item'
                        },
                        legend: {
                            top: '3%',
                            left: 'right',
                        },
                        series: [
                            {
                                type: 'pie',
                                radius: '55%',
                                center: ['50%', '50%'],
                                data: [
                                    {value: compsum, name: '在线机械'},
                                    {value: m, name: '在场机械'}
                                ],
                                label: {},
                                labelLine: {
                                    lineStyle: {
                                        color: '#0455A4',
                                    },
                                    smooth: 0.2,
                                    length: 10,
                                    length2: 20
                                }
                            }
                        ]

                    }
                }

            }
            else
            {
                message.info("查询数据失败,没有碾压权限")
            }
        })
    }
//摊铺
    const getPaverdesign=()=>{
        //摊铺概况
        axios.post("/analyze/pave/findDesignAndBuild",
            {"sectionId": AnalyseQueryFormState.value.sections[0].sectionId}
        ).then((res: any) => {
            if (res.success) {
                resultList.value = res.data

                let design = 0, build = 0;
                for (let i = 0; i < resultList.value.length; i++) {
                    let num = resultList.value[i].design;
                    design += parseInt(num);
                    let val = resultList.value[i].build;
                    build += parseInt(val);
                    let count = design - build
                    paveOption.value = {
                        tooltip: {},
                        series: [{
                            name: '',
                            type: 'pie',
                            radius: ['65%', '80%'],
                            label: {
                                normal: {
                                    position: 'center'
                                }
                            },
                            hoverAnimation: false,
                            data: [{
                                value: build,
                                name: '已施工面积',
                                itemStyle: {
                                    normal: {
                                        color: '#2D99FF',
                                    }
                                },
                                label: {
                                    normal: {
                                        formatter: '\n已实现面积{d}%',
                                        textStyle: {
                                            fontSize: 20,
                                            fontWeight: 'bold'
                                        }
                                    }
                                },
                            }, {
                                value: count,
                                name: '剩余设计面积',
                                label: {
                                    normal: {
                                        show: false,
                                        formatter: '',
                                    }
                                },
                                itemStyle: {
                                    normal: {
                                        color: '#C0C0C0'
                                    }
                                },
                            }]
                        }]
                    }
                }
            }
        })
    }

    onMounted(()=>{

    })

    return {
        sections,
        allDateOption, allMonthOption,
        ratioOption,
        cellOption,
        cellAnalOption, cellMonthOption,

        tampOption,
        tampSceneOption,tampSceneMonthOption,
        tampBuildOption,tampBuildMonthOption,

        compOption,
        compSceneOption,compSceneMonthOption,
        compDistanceOption,compDistanceMonthOption,

        paveOption,
        paveAreaOption,paveAreaMonthOption,
        cfgDepthOption,cfgDepthMonthOption,
        cfgCountOption,cfgCountMonthOption,

        RotaryDepthOption,RotaryDepthMonthOption,
        RotaryCountOption,RotaryCountMonthOption,

        TrackDistanceOption,
        VehicleDistanceOption,VehicleDistanceMonthOption,

        getStatisticsOfSection,getTampPoint,getPaverdesign,getCompPresent,getVehicleScene,

        getDevice,getCell,getTampScene,getTampBulid,getCompScene,getCompDistance,getPaveArea,
        getCfgDepth,getCfgCount,getRotaryDepth,getRotaryCount,getTrackDistance,getVehicleDistance,

        dailytime,monthtime,mode2,handleChange, handlePanelChange,

        AnalyseQueryFormState,
        resultList, infoList,
        tampnum, compnum, pavenum, cfgnum, rotarynum, cementnum,
        sprinklenum, diggernum, bulldozernum, tracknum, cranenum, asiewnum, loadernum, drillnum, gradernum, carnum,
        tampPresent, compPresent, pavePresent, cfgPresent, rotaryPresent, cementPresent,
        sprinklePresent, diggerPresent, bulldozerPresent, trackPresent, cranePresent, asiewPresent, loaderPresent, drillPresent, graderPresent, carPresent,
        refreshTime,
        weatherList,
        testList,
        attrs,
        dustDays,

        dateTime,
        calendar

    }
}